Un patrón de diseño es una solución a un problema que se ha presentado en múltiples ocasiones y nos sirve de base para buscar soluciones a problemas de desarrollo del software.
Un patrón contiene una solución probada a un problema en un determinado contexto.
Para que una solución sea considerada patrón:
Debe haber sido aplicada y probada.
La descripción ha de ser suficientemente genérica.
La utilización de patrones de diseño permite desarrollar aplicaciones con mayor celeridad y de mayor calidad.
Este método de desarrollo se caracteriza por centrarse más en el usuario que en los datos.
WSDM se puede considerar una metodología que ofrece primitivas para poder crear aplicaciones desde diferentes perspectivas.
El desarrollo de una aplicación web con este método se divide en:
Fase de modelado de usuario: Atendiendo a las entidades implicadas, se crean las clases necesarias.
Fase de diseño conceptual: En esta fase se concentra el modelado de los requisitos de usuario. También se crea el modelo de objetos de usuario y un modelo de navegación.
Fase diseño de implementación: Se concentra el modelado de la interfaz.
Este método de desarrollo se centra en la construcción de webs sin tener en cuenta las especificaciones del sistema, ya que se basa en un alto nivel de abstracción.
Se utiliza una serie de ciclos en los que se va detallando cada aspecto de la web.
Está formado por diferentes actividades y modelos que definen la funcionalidad del sistema:
Modelo estructural: Representa los datos y relaciones. Se puede utilizar un modelo Entidad-Relación o UML.
Modelo de hipertexto: Se centra en la representación de las páginas y los enlaces entre estas.
Modelo de presentación: Este modelo se encarga de definir la apariencia que van a tener las páginas sin tener en cuenta la herramienta de generación utilizada para su construcción.
Modelo de personalización.
Esta metodología se fundamenta en un metamodelo, haciendo uso de UML.
Permite el modelado por separado de las diferentes entidades que componen la aplicación web:
Contenido.
Estructura.
Composición.
Lógica del negocio.
En el desarrollo web, el Modelo Vista Controlador (MVC) es uno de los patrones de diseño más utilizados.
Este patrón permite la separación entre la lógica de control, la lógica del negocio y la lógica de presentación.
![]() |
![]() |
Se trata de la información del sistema, manejando los datos y la lógica de negocio.
Esta capa es la responsable de:
Permitir el acceso al almacenamiento de los datos independientemente del SGBD utilizado.
Definir reglas del negocio acorde a los datos.
Controlar cambios en el sistema de datos.
Es la responsable de la representación visual (interfaz gráfica), encargándose del diseño y la presentación.
Sus responsabilidades son:
Representar los datos del modelo al usuario.
Relacionarse con los controladores necesarios.
Ejecutar las acciones que el modelo precise acorde al controlador asociado.
Se encarga de proporcionar una respuesta ante un evento en el sistema.
Normalmente estos eventos están generados por los usuarios.
Al producirse un evento normalmente se requieren cambios en el modelo y en la vista.
Esta capa es responsable de:
Tomar eventos de entrada y actuar en consecuencia.
Gestionar la lógica de los eventos producidos en el sistema.
Da significado a las acciones realizadas por el usuario comunicando con los datos que se representan en el modelo.
Java es una de las plataformas que utiliza el MVC para el desarrollo de aplicaciones web.

Servlet: Componentes especiales usados en Java para la implementación de la parte controladora.
JSP: Se encargan de la representación visual. Normalmente, es código Java que se introduce en el mismo código HTML para tomar datos del modelo.
JavaBean o EJB: Se encarga de comunicar con la base de datos.
Existen diferentes frameworks Java para desarrollo MVC:
JSF (Java Servlet Faces): Permite desarrollar la vista con mayor facilidad y control de etiquetas utilizadas.
Struts o Spring: Son dos frameworks que se centran en la parte controladora para permitir un desarrollo más robusto de aplicaciones webs.
JPA (Java Persistance API) o Hibernate: Se trata de dos frameworks para el tratamiento de la capa de modelo.
Individuos e interacciones sobre procesos y herramientas.
Software funcionando sobre documentación excesiva.
Colaboración con el cliente sobre negociación contractual
Respuesta ante el cambio sobre el seguimiento de un plan.